﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Linq;
using System.Text;

namespace QbservableCore.Serialization
{
    /// <summary>
    /// Server side target resolver
    /// </summary>
    public interface IQbservableTargetResolver
    {
        /// <summary>
        /// Returns an IQbservable instance by the given target key
        /// </summary>
        /// <param name="targetKey">The target key.</param>
        /// <returns></returns>
        IQbservable ToQbservable(string targetKey);

        /// <summary>
        /// Returns the an array of Qbservable's metadata.
        /// </summary>
        /// <returns></returns>
        QbservableMetadata[] GetMetadata();
    }
}
